/*
 * Volume data type and functions
 *
 */

#ifndef _VOLUME_TYPE_H_
#define _VOLUME_TYPE_H_

#include "hdf5.h"


/*
 * Volume Type, define a volume
 *
 */
typedef struct
{
	float * 	memory;
	float ***	data;
	hsize_t 	dim[3];
	float *		position;
} volume_t;

/*
 * Create a Volume (dim[0],dim[1],dim[2]) dimenssion
 *
 */
int createVolume(volume_t * volume, hsize_t dims[3]);

/*      
 * Set a volume's position
 *      
 */
int setPositionVolume(volume_t * volume, float pos[3]);

/*
 * Destroy a Volume
 *
 */
int destroyVolume(volume_t volume);

#endif/*__VOLUME_TYPE_H__*/
